package model

type Comment struct {
	CommentID int64  `json:"commentId" gorm:"column:comment_id;primary_key;auto_increment"`
	UserID    int64  `json:"userId" gorm:"column:user_id;default:null"`
	VideoID   int64  `json:"videoId" gorm:"column:video_id"`
	ParentId  int64  `json:"parentId" gorm:"column:parent_id"`
	Content   string `json:"content" gorm:"column:content"`

	BaseModel
}

func (Comment) TableName() string {
	return "comment"
}

type CommentDto struct {
	VideoID  int64  `json:"videoId" valid:"required~评论视频不能为空"`
	ParentId int64  `json:"parentId"`
	Content  string `json:"content" valid:"required~评论内容不能为空"`
}

type DeleteCommentDto struct {
	CommentID int64 `json:"commentId" valid:"required~评论id不能为空"`
	VideoID   int64 `json:"videoId" valid:"required~评论视频不能为空"`
}

type CommentVo struct {
	CommentID int64       `json:"commentId"`
	Author    Author      `json:"author"`
	Content   string      `json:"content"`
	Time      string      `json:"time"`
	Children  []CommentVo `json:"children"`
}
